package br.unifor.cadeventos.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import br.unifor.cadeventos.entity.TipoEventos;

public class TipoEventosDAO {

	private EntityManager em = new EntityManager() {
		
		@Override
		public Object trataResultSet(ResultSet resultSet) throws SQLException {
			TipoEventos tipoEvento = new TipoEventos();
			tipoEvento.setId(resultSet.getInt("id"));
			tipoEvento.setDescricao(resultSet.getString("descricao"));
			return tipoEvento;
		}
	};

	public void salvar(TipoEventos tipoEvento) {

		String sql = "insert into tipo_eventos(descricao) values (?)";
		em.executeQuery(sql, tipoEvento.getDescricao());
	}

	public void atualizar(TipoEventos tipoEvento) {
		String sql = "update tipo_eventos set descricao = ? where id = ?";
		em.executeQuery(sql, tipoEvento.getDescricao(), tipoEvento.getId());
	}

	public void excluirPorId(Integer id) {
		String sql = "delete from tipo_eventos where id = ?";
		em.executeQuery(sql, id);
	}

	public void excluirTodos() {

		String sql = "delete from tipo_eventos";
		em.executeQuery(sql);
	}

	public TipoEventos buscarPorId(Integer id) {

		
		String sql = "select id, descricao "
				+ "from tipo_eventos where id = ?";
		return (TipoEventos)em.getSingleResult(sql, id);
	}

}
